//
//  Controller.m
//
//  Created by Labbé Pellegrini, Sébastien on 12-05-24.
//  Copyright 2012 __MyCompanyName__. All rights reserved.
//

#import "Controller.h"
#import "Participant.h"
#import "ParticipantListeController.h"

@implementation Controller

@synthesize participantActuel;
@synthesize descenteCourrante;
@synthesize partListController;
@synthesize podiumListController;
@synthesize participantIndex;

- (id) init{
	self = [super init];
	NSLog(@"Controller init.");
	[txtChrono setEnabled:NO];
    
    
	
    //partListController = [[ParticipantListeController alloc] init];
    
    
//    tblParticipants.delegate = partListController;
//    tblParticipants.dataSource = partListController;
	
	//Add items
	return self;
}
	
- (IBAction)ajouterPenaliteTouche:(id)sender {
    [participantActuel ajouterpenaliteTouche];
}

- (IBAction)ajouterPenaliteManque:(id)sender{
    [participantActuel ajouterPenaliteManque];
}

- (IBAction)demarrerChronoAction:(id)sender {
	NSMutableArray *listePart = partListController.getListe;
    self.participantActuel = [listePart objectAtIndex:participantIndex];
    
    [participantActuel demarrerDescente];
    
    [self setButtonStates:YES];
    
    [self mettreAJourChrono];
    [partListController ReloadTableView];
	
}

- (IBAction)terminerParcoursAction:(id)sender {
    [participantActuel terminerDescente:NO];
    	
    [self setButtonStates:NO];
    [self mettreAjourListe];
    
    self.participantIndex++;
    self.participantActuel = nil;
    
    if (self.participantIndex >= [[partListController getListe] count])
    {
        btnDepart.enabled = NO;
        NSMutableArray *sortedArray = [podiumListController GetSortedList];
        
        Participant *participant = [sortedArray objectAtIndex:0];
        NSString *first = [NSString stringWithFormat:@"%i - %@ %@ - %@", participant.numero,participant.prenom, participant.nom, participant.pays];
        
        participant = [sortedArray objectAtIndex:1];
        NSString *second = [NSString stringWithFormat:@"%i - %@ %@ - %@", participant.numero,participant.prenom, participant.nom, participant.pays];
        
        participant = [sortedArray objectAtIndex:2];
        NSString *third = [NSString stringWithFormat:@"%i - %@ %@ - %@", participant.numero,participant.prenom, participant.nom, participant.pays];
        
        
        NSString *classement = [NSString stringWithFormat:@"1st:%@\n2nd:%@\n3rd:%@", first, second, third];
        
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Competition terminee" message:classement delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        [alert show];
    }
    
    
    
    
}

- (IBAction)dnfParcoursAction:(id)sender {
    [participantActuel terminerDescente:YES];
        
    [self setButtonStates:NO];
        
    self.participantIndex++;
	
	descenteCourrante = nil;
    [self mettreAjourListe];
}

-(void) mettreAjourListe{
    [podiumListController AjoutParticipant:participantActuel];
    [partListController ReloadTableView];
}



-(void) setButtonStates:(bool) enDescente{

    btnDepart.enabled = !enDescente;
    btnArrivee.enabled = enDescente;
    btnDidNotFinish.enabled = enDescente;
    btnPorteManquee.enabled = enDescente;
    btnPorteTouchee.enabled = enDescente;
    btnInscrire.enabled = NO;
}

- (void) mettreAJourChrono {
    //	while (descenteCourrante != nil || [descenteCourrante estEnCours]) {
    //		[txtChrono setText:[descenteCourrante recupererTempsCalculer]];
    //	}
}



- (IBAction)inscrireAction:(id)sender {

//	[self ajouterParticipant:@"1" :@"1" :@"1"];
//    [self ajouterParticipant:@"2" :@"2" :@"2"];
//    [self ajouterParticipant:@"3" :@"3" :@"3"];
//    [self ajouterParticipant:@"4" :@"4" :@"4"];
//    [self ajouterParticipant:@"5" :@"5" :@"5"];
//    [self ajouterParticipant:@"6" :@"6" :@"6"];
//    [self ajouterParticipant:@"7" :@"7" :@"7"];
//    [self ajouterParticipant:@"8" :@"8" :@"8"];
//    [self ajouterParticipant:@"9" :@"9" :@"9"];
//    [self ajouterParticipant:@"10" :@"10" :@"10"];
    
    NSString *strNom = [txtNom text];
	NSString *strPrenom = [txtPrenom text];
	NSString *strPays = [txtPays text];
    
    [self ajouterParticipant:strNom :strPrenom:strPays];
																	
}

-(void)ajouterParticipant:(NSString *) strNom:(NSString *) strPrenom:(NSString *) strPays
{
    
	//Au début, il n'y a aucun participants, donc nbParticipant =0
	//Le numéro du participant est donc nbParticipant+1 pour ne pas avoir de numéro de participant à 0
	
    [partListController AjoutParticipant:strNom :strPrenom :strPays];
    
	[self mettreAJourPartipants];
}


- (void) mettreAJourPartipants {
	NSLog(@"mettreAJourParticipants");
	//Écrire le code qui affiche les participants dans la liste.
	[txtNom setText:@""];
	[txtPrenom setText:@""];
	[txtPays setText:@""];
	[txtPrenom becomeFirstResponder];
}


@end
